<?xml version="1.0" encoding="UTF-8"?>
		<sect1 id="ch03-3">
			<title>使用背景和前景</title>
			<para>KAGeXpress中，切换背景一般可以使用bg命令。</para>
			<para>属性storage指定切换对象的文件名。如果不指定文件的后缀名，则系统将按照的顺序自动检索。</para>
			<programlisting>@bg storage=ex01</programlisting>
			<para>这个指令可以调出主文件名为ex01的文件。</para>
			<para>切换背景可以使用渐变来完成。加入time属性，便会在切换背景时使用渐变过渡。渐变的方法以method参数指定，如果没有指定，默认使用crossfade。</para>
			<tip>
				<para>对于KAGeXpress提供的图形指令（bg、fg和cl），渐变类型本身特有的属性应该加入指令调用时的属性中。</para>
			</tip>
			<para>下面是一个切换背景的例子</para>
			<example id="ex3-4">
				<title>背景切换的例子</title>
				<programlisting>@bg storage=ex01 time=1200</programlisting>
				<para>这个指令可以从当前背景开始，以Crossfade的方法在1200秒内把背景渐变到ex01。</para>
				<programlisting>@bg storage=ex01 time=1200 method=universal rule=r01</programlisting>
				<para>这个指令可以从当前背景开始，按照规则图像r01的规则在1200秒内把背景渐变到ex01。</para>
			</example>
			<para>显示前景可以使用fg命令，消除前景可以使用cl命令。</para>
			<para>上面所讲到的用于bg命令的属性（time和渐变相关参数）同样可以用于这两个指令。此外，上面提到的storage属性也适用于fg指令。</para>
			<para>此外，因为前景层不止一个，所以fg、cl命令可以对任意一个指定的前景层进行操作。要操作不同的前景层，请指定layer属性。当不指定layer的时候，默认操作前景层0。</para>
			<para>同样，由于前景所绘制的立绘等图像经常不满整个屏幕，所以fg命令也可以设置图像的位置。以窗口作上角为原点，t设置顶端坐标，l设置左端坐标。如果没有设定，则将沿用上次的位置。</para>
			<para>此外，可以使用pos参数，指定预设的位置。pos参数默认的可选值见下，这些值可以在config.tjs中调整。调用时可以使用全名，也可以使用缩略名。</para>
			<table id="tab3-2">
				<title>fg命令的pos属性</title>
				<tgroup cols="4">
					<thead>
						<row>
							<entry>全名</entry>
							<entry>缩略名</entry>
							<entry>默认横向位置[像素]（640x480）</entry>
							<entry>默认横向位置[像素]（800x600）</entry>
						</row>
					</thead>
					<tbody>
						<row>
							<entry>left</entry>
							<entry>l</entry>
							<entry>160</entry>
							<entry>200</entry>
						</row>
						<row>
							<entry>left_center</entry>
							<entry>lc</entry>
							<entry>240</entry>
							<entry>300</entry>
						</row>
						<row>
							<entry>center</entry>
							<entry>c</entry>
							<entry>320</entry>
							<entry>400</entry>
						</row>
						<row>
							<entry>right_center</entry>
							<entry>rc</entry>
							<entry>400</entry>
							<entry>500</entry>
						</row>
						<row>
							<entry>right</entry>
							<entry>r</entry>
							<entry>480</entry>
							<entry>600</entry>
						</row>
					</tbody>
				</tgroup>
			</table>
			<para>请注意，bg未指定time的时候默认直接显示背景图像，而fg、cl未指定time时默认以200秒长度的crossfade渐变显示/消除前景图像。这是因为，在调用bg的时候一般大家都会有按照自己习惯设定背景切换的效果，但是前景命令因为用量比较大，一般会希望能够比较快速、简便的处理。</para>
			<example id="ex3-5">
				<title>fg命令的例子</title>
				<programlisting>@bg storage=ex01 time=1000
				
@fg storage=fg01 pos=l t=0 ;在前景层0，左位置上显示图片fg01
@fg layer=1 storage=fg02 l=400 t=0 time=500 ;在前景层1，以(400,0)为左上角显示图片fg02
我是华丽的例子。[l][r]</programlisting>
			</example>
			<para>此外，cl加上属性all则将清除所有层。但是如果在定义属性keep=back，则背景层不会被清除。如果定义属性keep=msg，则消息层和背景层都不会被清除（只清除前景层）。这个功能在切换场景等时候会很有用处。</para>
			<para>例：</para>
			<example id="ex3-6">
				<title>cl命令的例子</title>
				<programlisting>[bg storage=ex01 time=1000]
[fg storage=fg01]
我是华丽的例子。[l][r]
@cl ;清除前景层0
@cl all keep=back ;这条指令将会清除背景层以外的所有层。</programlisting>
			</example>
		</sect1>